package com.yls.except.service;

import java.util.List;
import java.util.Map;

/**
 * 消息service
 *
 * @author xs
 * @version 1.0
 * @time 2016-3-1 下午3:54:32
 * @Description: {}
 */
public interface SystemService {
    /**
     * 获取省列表信息
     *
     * @return 省列表
     */
    List<Object> selectProvinceList();

    /**
     * 获取市列表
     *
     * @param pid 省id
     * @return 市列表
     */
    List<Object> selectCityList(String pid);

    /**
     * 获取区列表
     *
     * @param cid 市id
     * @return 区列表
     */
    List<Object> selecDistrictList(String cid);

    /**
     * 根据城市名称查询区域信息
     * @param cityname 城市名称
     * @return 区域信息
     */
    List<Object> selecDistrictListByCityName(String cityname);

    /**
     *  添加收货地址
     * @param uid 用户id
     * @param name 收货人姓名
     * @param phone 联系电话
     * @param pid 省id
     * @param cid 市id
     * @param did 区id
     * @param address 详细地址
     * @param postcode 邮编
     * @param reqip
     * @return 添加状态（大于0成功，否则失败）
     */
    int insertAddress(String uid, String name, String phone, String pid, String cid, String did, String address, String postcode, String reqip);

    /**
     * 获取我的收货地址
     * @param uid 用户id
     * @param page 页码
     * @param searchname 搜索名称
     * @param count
     * @return 我的收货地址
     */
    List<Object> selectMyAddress(String uid, String page, String searchname, String count);

    /**
     * 修改收货地址信息
     * @param uid 用户id
     * @param addressid 收货地址id
     * @param name 收货人姓名
     * @param phone 联系电话
     * @param pid 省id
     * @param cid 市id
     * @param did 区id
     * @param address 详细地址
     * @param postcode 邮编
     * @param isdefault 是否默认
     * @return 修改状态（大于0成功，否则失败）
     */
    int updateAddressinfo(String uid, String addressid, String name, String phone, String pid, String cid, String did, String address, String postcode, String isdefault);

    /**
     * 删除收货地址信息
     * @param uid 用户id
     * @param addressid 收货地址id
     * @return 删除状态（大于0成功，否则失败）
     */
    int deleteAddressInfo(String uid, String addressid);

    /**
     * 根据收货地址id查询收货地址详情
     * @param addressid 收货地址id
     * @return 收货地址详情
     */
    Map<String,Object> selectAddressInfoById(String addressid);

    /**
     * 根据系统设置id查询系统设置信息
     * @param systemsetid 系统设置id
     * @param uid
     * @return 系统设置信息
     */
    Map<String,Object> selectSystemSetInfoById(String systemsetid, String uid);

    /**
     * 根据用户id查询用户信息
     * @param uid 用户id
     * @return 用户信息
     */
    Map<String,Object> selectUserinfoById(String uid);
}
